﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace blackhouse.BlackApart.Data {
    public interface IOpinionsDataAccess {

        OpinionCategoryData[] GetOpinionsCategories(string language);
        int SaveOpinion(int opinionId, string inPlusOpinion, string inMinusOpinion, DateTime publishedDate, string publisherCategory, string publisherFirstName, string publisherLastName, string publisherCountry, string language, int userId);
        OpinionData GetOpinion(int opinionId);
        void AddOpinionDetailValue(int opinionId, int categoryId, float val);
        Dictionary<int, float> GetOpinionDetails(int opinionId);
        bool AddOpinionToReservation(int opinionId, int reservationId);
        StatisticOpinionData[] GetStatisticOpinionData();
        OpinionData[] GetOpinionsHeader(bool includeNonPublic);
        OpinionCategoryValueData[] GetOpinionsDetails(bool includeNonPublic);
        OpinionTextData[] GetOpinionTextValues(string language);
        int FindReservationToAddOpinion(int apartmentTypeId);
        void PublishOpinion(int opinionId, int userId);
        int SaveModerateOpinion(int opinionId, string inPlusOpinion, string inMinusOpinion, string answer, int userId);

    }
}
